草庐IT

docker - 从 docker 复制到 CI 构建中的主机

全部标签

docker - 在 Docker 中找不到 Go mod 文件夹

我是模块的新手,我正在尝试获取一个项目并更新它以使用它们,因为它们似乎是最终处理我的依赖项的一种非常好的方法。但是,我在Docker中构建东西时遇到了问题。我有一个包含main.go和go.mod文件的项目(它引用私有(private)/本地存储库以及像go这样的公共(public)存储库.uber.org/zap)。我将我的模块命名为github.internal.com/team_name/project_name我已经提供了我的依赖项。所以,我的项目结构如下:project-main.go-internal-utils.go-go.mod(github.internal.com/

go - 如何使一个 pod 与另一个 pod 的本地主机通信

我已经在Go中实现了一个gRPC客户端服务器。我现在已经在Kubernetes中将它们设置为客户端和服务器pod,客户端在其中连接到服务器。我在我的电脑上使用vagrant(centos/7)设置了这个集群。我的问题是客户端想要访问端口8090(服务器在此端口上服务)并向服务器发送消息,但是由于它们位于不同的pod中,客户端无法访问本地主机8090,因此pod失败。我该如何解决这个问题?funcmain(){conn,err:=grpc.Dial(":8090",grpc.WithInsecure())iferr!=nil{log.Fatalf("didnotconnect:%v",e

docker - Golang 在 Docker 镜像中找不到包

所以,我正在尝试使用包含我的主文件补充代码的不同目录来对一个golang应用程序进行docker化。我正在使用gorilla/mux。目录结构如下所示。$GOPATH/src/github.com/user/server|---Dockerfile|---main.go|---routes/handlers.go|---public/index.gohtml它在我的主机上运行没有问题。问题是,当我尝试部署docker镜像时,它不会运行并在创建后不久退出。我尝试将我的dockerfile中的WORKDIR命令更改为/go/src并将我的所有文件转储到那里,但仍然没有运气。我也试过关于do

MongoDB Go 驱动程序在不应该查看本地主机的情况下

我不是Go人,只需要使用用Go编写的插件,我在插件和MongoDB之间遇到了一些麻烦。错误是:serverselectionerror:serverselectiontimeoutcurrenttopology:Type:UnknownServers:Addr:localhost:27017,Type:Unknown,State:Connected,AvergageRTT:0,Lasterror:dialtcp127.0.0.1:27017:connect:connectionrefusedexitstatus1我的配置:time=“2019-09-03T16:29:35Z”level

docker - 启动容器进程导致 "exec:\"/app\": permission denied": unknown

当我尝试使用docker构建golang时docker镜像构建成功,但是用dockerrun运行时出现如下错误docker:Errorresponsefromdaemon:OCIruntimecreatefailed:container_linux.go:345:startingcontainerprocesscaused"exec:\"/app\":permissiondenied":unknown.我认为这个错误导致没有用户添加,所以我添加了如下组和用户RUNgroupadd-g10001myapp\&&useradd-u10001-gmyappmyapp但没有修复。这是我的源do

docker - 我应该安装什么包而不是 libpcre++-dev 在 Alpine Golang 中使用 C 代码?

我在docker容器中有一个Golang程序(我使用的是Ubuntu18)。我也用github.com/glenn-brown/golang-pkg-pcre/src/pkg/pcre在我的Golang应用程序中使用正则表达式。在使用这个库之前,我应该这样安装libpcre++-dev:sudoapt-getinstalllibpcre++-dev但我在我的Dockerfile中使用了golang:alpine并且这不是alpine包中的libpcre++-dev库。我应该安装什么包而不是libpcre++-dev?附注我已尝试安装libc6-compat、pcrepcre-dev、l

go - 使用 goroutines 复制子目录

我的程序将多个文件和目录从计算机的不同部分复制到一个地方。其中一个目录很大,所以复制它大约需要20-30秒。现在我只是制作了这个方法,它复制该目录以作为goroutine启动:funcCopySpecificDirectory(source,deststring,quitchanint)(errerror){files,err:=os.Open(source)file,err:=files.Readdir(0)iferr!=nil{fmt.Printf("Errorreadingdirectory%s:%s\n",source,err)returnerr}for_,f:=rangefi

go - docker注册的驱动在源码哪里初始化?

我正在尝试理解Docker的源代码,同时也在学习Go。Docker的一个让我感到困惑的区域是docker/daemon/graphdriver/driver.go内部在第75行,访问strings映射的name属性以获取类型为InitFunc的函数。但是,我似乎无法找到使用已注册驱动器初始化drivers的位置,似乎需要在某处完成。 最佳答案 在line62在init()中:funcinit(){drivers=make(map[string]InitFunc)}然后在依赖于它的每个包中,他们调用graphdriver.Regist

json - Go:在json响应中从数据库复制各种类型的数据

我正在尝试从我的数据库中获取一组数据并以json格式返回它们。但是,它们的类型不同,我似乎在我的代码中使用了错误的返回类型。开始:typeScriptstruct{Idint`json:"id"`Typestring`json:"type"`Created_atint`json:"created_at"`}typeAllContentstruct{New_content[]*Script`json:"new_content,omitempty"`}funcReadAllContent()[][]interface{}{err:=db.Ping()iferr!=nil{log.Fatal

go - go1.4中是否有必要放弃堆栈上太大的变量以避免堆栈复制?

我们知道,在go1.4中,goroutine的栈可以通过复制栈来增加。我的问题是,是否有必要在go中避免堆栈上的局部变量太大?例如funcfoo(){varbuf[8096]int//dosomethingwithbuf}或varbuf[8096]intfuncfoo(){//dosomethingwithbuf}我的意思是,是否有必要使用后一个示例来避免由于堆栈复制而导致的大变量? 最佳答案 堆栈几乎总是比堆快。在哪里定义变量更多的是关于范围。由于在后一个示例中Go是词法范围语言,因此您弄脏了全局命名空间,使varbuf在程序的任